<?php
//**************************************************************************
//
//            (C) Okulov Rostislav, 2011
//
//**************************************************************************

/*
 ***************************************************************************
 *                                                                         *
 *   This source is free software; you can redistribute it and/or modify   *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This code is distributed in the hope that it will be useful, but      *
 *   WITHOUT ANY WARRANTY; without even the implied warranty of            *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
 *   General Public License for more details.                              *
 *                                                                         *
 *   A copy of the GNU General Public License is available on the World    *
 *   Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also      *
 *   obtain it by writing to the Free Software Foundation,                 *
 *   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.        *
 *                                                                         *
 */
 
   session_start();
   include ('mysql_connect.php');

   if ($_POST) {

   $error = false;
   $errortext = '<p>При регистрации на сайте произошли следующие ошибки:</p><ul>';
   // Подключаемся к mysql серверу
   $link = mysql_connect($dbhost, $dbuser, $dbpassword);
   if (empty($link)) {
      echo 'Не удалось подключиться к MySQL'; 
      exit;
   }
   // Выбираем нашу базу данных
   mysql_select_db($dbname, $link);
   //$query = "CREATE TABLE users (id INT(10) NOT NULL AUTO_INCREMENT , login VARCHAR(12) NOT NULL , pass TEXT NOT NULL , email TEXT NOT NULL, regtime datetime NOT NULL, lastvisit datetime NOT NULL, online int(1), PRIMARY KEY (id))";
   //mysql_query($query, $link);

      $login = trim($_POST['user_reg_name']);
      $password = trim($_POST['user_reg_pass']);
      $password_r = trim($_POST['user_reg_pass_r']);
      $email = trim($_POST['user_reg_email']);
      if ( strcmp($_SESSION['key'],md5($_POST['cfiled'])) != 0 ) {
         $error = true;
	 $errortext .= '<li>Вы не правильно ввели проверочный код!</li>';
      }
      if (empty($login)) {
		$error = true;
		$errortext .= '<li>Вы не заполнили поле Ник!</li>';
	
      } else {

           if (!preg_match('/^[a-z0-9]{4,12}$/i',$login)) {
              $error = true;
              $errortext .= '<li>Убедитесь что Логин содержит от 4 до 12 символов, и состоит из латинских символов и цифр</li>';
           } else {
              $query="SELECT * FROM users WHERE login='".$login."'";
              $result = mysql_query($query, $link);
              $num_rows = mysql_num_rows($result); 
              if ($num_rows == 0) {
                 $error = false;
              } else {
                 $error = true;
                 $errortext .= '<li>Имя уже занято, выберите другое.</li>';
              }
           }
      }

      if (empty($password)) {
  	    $error = true;
	    $errortext .= '<li>Вы не заполнили поле Пароль!</li>';		 
	} else {
	  if (!preg_match('/^[a-z0-9]{6,20}$/i',$password)) {
             $error = true;
             $errortext .= '<li>Убедитесь что Пароль содержит от 6 до 20 символов, и состоит из латинских символов и цифр</li>';
          }		
      }
	
	if (empty($password_r))
	{
		$error = true;
		$errortext .= '<li>Вы не заполнили поле Подтверждение пароля!</li>';
	} else {
		if ($password != $password_r)
		{
			$error = true;
			$errortext .= '<li>Поле Пароль и его Подтверждение не совпадают!</li>';
		}
	}
	
	if (empty($email))
	{
		$error = true;
		$errortext .= '<li>Вы не заполнили поле E-Mail</li>';
	} else {
		if (!preg_match('/^[-0-9a-z_\.]+@[-0-9a-z^\.]+\.[a-z]{2,5}$/i',$email))
		{
		   $error = true;
		   $errortext .= '<li>Не правильно заполнено поле E-Mail. E-mail должен иметь вид user@somehost.com</li>';
		} else {
                   $query="SELECT * FROM users WHERE email='".$email."'";
                   $result = mysql_query($query, $link);
                   $num_rows = mysql_num_rows($result); 
                   if ($num_rows == 0) {
                      $error = false;
                   } else {
                      $error = true;
                      $errortext .= '<li>Такой почтовый ящик уже зарегистрирован.</li>';
                   }
                }
	}	
	$errortext .= '</ul>';

   

   if ($error == true) {
      echo($errortext);
   } else {
     $phpdate = $_SERVER['REQUEST_TIME'];
     $mysqldate = date('Y-m-d H:i:s', $phpdate);
     $query = "INSERT INTO users VALUES(0,'".mysql_escape_string($login)."','".mysql_escape_string(md5($password))."','".mysql_escape_string($email)."','".mysql_escape_string($mysqldate)."','".mysql_escape_string($mysqldate)."','1')";
     $result = mysql_query($query, $link);
     if ($result) {
        echo('<p>Вы успешно зарегистрированы на сайте!</p>');
        header('Location: index.php');
        exit;
     }
   }
mysql_close($link);
}

if (($_POST && $error) || !$_POST) {
?>
<span>Регистрация:</span><br /><br />
<form name="frmaddpic" method="POST" action="">
  <span>Ник: </span><span style="color:red;">*</span><input type="text" name="user_reg_name" <?php if ($_POST && $error && isset($_POST['user_reg_name'])) { echo('value="'.$_POST['user_reg_name'].'" '); } ?> /><br />
  <span>E-mail: </span><span style="color:red;">*</span><input type="text" name="user_reg_email" <?php if ($_POST && $error && isset($_POST['user_reg_email'])) { echo('value="'.$_POST['user_reg_email'].'" '); } ?> /><span>Не отображается.</span><br />
  <span>Пароль:</span><span style="color:red;">*</span><input type="password" name="user_reg_pass" <?php if ($_POST && $error && isset($_POST['user_reg_pass'])) { echo('value="'.$_POST['user_reg_pass'].'" '); } ?> /><br />
  <span>Пароль еще раз: </span><span style="color:red;">*</span><input type="password" name="user_reg_pass_r" <?php if ($_POST && $error && isset($_POST['user_reg_pass_r'])) { echo('value="'.$_POST['user_reg_pass_r'].'" '); } ?>/><br />
  <span>Введите код c картинки в поле ниже:</span><span style="color:red;">*</span><br />
  <img id="cptha" src="/captcha.php"><a href="" id="recaptcha" style="font-size:60%; color:blue;">не вижу капчу</a><br>        
  <input type="text" name="cfiled" value="" id="cfiled" /><br />
  <input type="submit" name="submit" value="Зарегистрироваться" />
</form>
<?php
}
?>
</body>
</html>
